﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lxzhu.OpenGL
{
    public enum VersionComponent
    {
        GL_VENDOR = 0x1F00,
        GL_RENDERER = 0x1F01,
        GL_VERSION = 0x1F02,
        GL_EXTENSIONS = 0x1F03
    }
    public enum PrimitiveType
    {
        GL_POINTS = 0x0000,
        GL_LINES = 0x0001,
        GL_LINE_LOOP = 0x0002,
        GL_LINE_STRIP = 0x0003,
        GL_TRIANGLES = 0x0004,
        GL_TRIANGLE_STRIP = 0x0005,
        GL_TRIANGLE_FAN = 0x0006,
        GL_QUADS = 0x0007,
        GL_QUAD_STRIP = 0x0008,
        GL_POLYGON = 0x0009
    }
    public enum MatrixMode
    {
        GL_PROJECTION = 0,
        GL_MODELVIEW = 1,
        GL_TEXTURE = 2
    }
    [Flags]
    public enum BufferBit
    {
        GL_COLOR_BUFFER_BIT = 0x00004000,
        GL_DEPTH_BUFFER_BIT = 0x00000100,
        GL_ACCUM_BUFFER_BIT = 0x00000200,
        GL_STENCIL_BUFFER_BIT = 0x00000400,
    }
    public enum ErrorCode
    {
        GL_NO_ERROR=Gl.GL_NO_ERROR,
        GL_INVALID_ENUM=Gl.GL_INVALID_ENUM,
        GL_INVALID_VALUE=Gl.GL_INVALID_VALUE,
        GL_INVALID_OPERATION = Gl.GL_INVALID_OPERATION,
        GL_STACK_OVERFLOW = Gl.GL_STACK_OVERFLOW,
        GL_STACK_UNDERFLOW = Gl.GL_STACK_UNDERFLOW,
        GL_OUT_OF_MEMORY = Gl.GL_OUT_OF_MEMORY
    }
    public enum Capability
    {
        GL_POINT_SMOOTH=Gl.GL_POINT_SMOOTH,
    }
    /// <summary>
    /// 用于glGet函数的查询参数
    /// </summary>
    public enum ConfigurationOrState
    {
        GL_SMOOTH_POINT_SIZE_RANGE=Gl.GL_SMOOTH_POINT_SIZE_RANGE,
        GL_POINT_SIZE=Gl.GL_POINT_SIZE
    }
}
